package com.fy.proj5_permission_transaction_cache.mapper;

import com.fy.proj5_permission_transaction_cache.model.Role;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface RoleMapper {
    // 查询所有角色
    List<Role> findAll();
    
    // 根据ID查询角色
    Role findById(@Param("id") Long id);
    
    // 根据名称查询角色
    Role findByName(@Param("name") String name);
    
    // 添加角色
    int insert(Role role);
    
    // 更新角色
    int update(Role role);
    
    // 根据ID删除角色
    int deleteById(@Param("id") Long id);
    
    // 查询角色及其权限
    Role findRoleWithPermissions(@Param("id") Long id);
    
    // 根据用户ID查询角色
    List<Role> findRolesByUserId(@Param("userId") Long userId);
}